<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
    <meta charset="utf-8" />
    <title>Redirections in WSO2-Stratos</title>

    <!-- Linking styles -->
    <link rel="stylesheet" href="css/style.css" type="text/css" media="all" />
    
</head>
<body>

    <nav id="helpers"><!-- Defining the floating helpers of the page -->
      <button title="Previous" id="nav-prev" class="nav-prev">&lt;-</button> 
      <button title="Jump to slide" id="slide-no">3</button> 
      <button title="Next" id="nav-next" class="nav-next">-&gt;</button>
      <menu>
        <button type="checkbox" data-command="notes" title="View Notes">Notes</button>
        <button type="checkbox" data-command="help" title="View Help">Help</button>
        <button type="checkbox" data-command="back" title="Back to tutorial">Back</button>
      </menu>
    </nav>

    <div class="presentation"><!-- Defining the main presentation -->
      <div id="presentation-counter">Loading...</div>

      <div class="slides"><!-- Defining slides -->

        <div class="slide" id="slide1"><!-- Defining single slide -->
          <section class="title">
            <h2><b>Filtering Related Redirections in </b></h2>
            <h2><b>WSO2-Stratos</b></h2>
            <p>Press <span id="left-init-key" class="key">&rarr;</span> key to continue.</p>
            <footer><b>Nirmal Fernando - Software Engineer at WSO2 Inc.</b></footer>
          </section>

          

          <aside class="note"><!-- hidden notes of slide -->
            <section>
             
            </section>
          </aside>
        </div> 

        <!--div class="slide" id="slide2">
          <header>Slides controls</header>
          <section>
            <ul>
              <li><span class="key">&larr;</span> and <span class="key">&rarr;</span> to move forward/back.</li>
              <li><span class="key">spacebar</span> to move forward.</li>
              <li><span class="key">N</span> to toggle hidden notes.</li>
              <li><span class="key">H</span> to toggle help.</li>
            </ul>
          </section>
          <aside class="note">
            <section>
              Notes for second slide
            </section>
          </aside> 
        </div-->

        <div class="slide" id="slide2">
          <section class="middle">
            <hgroup>
              
              <h2>
                Filters used in Stratos: <b>LoginPageFilter - 1</b>
              </h2>
            </hgroup>

            <p class="tab"><u>Package</u>: <b>org.wso2.carbon.redirector.servlet.ui.filters</b></p>
            
            <div class="tab"><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Forward requests coming for "/carbon/admin/login.jsp" to Stratos specific "/carbon/tenant-login/login_ajaxprocessor.jsp"</p></div>

            
            
          </section>
        </div>

        <div class="slide" id="slide3">
          <section class="middle">
            <hgroup>
              
              <h2>
                Filters used in Stratos: <b>LoginPageFilter - 2</b>
              </h2>
            </hgroup>

           <p class="tab" ><u>Package</u>: <b>org.wso2.carbon.identity.authenticator.saml2.sso.ui.filters</b></p>
            
            <div class="tab"><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This intercept the login requests coming to a Carbon server. It checks whether they are coming from a user with an authenticated session, if not redirect him to the corresponding identity provider.</p>
                <ul class="tab">
                    <li>If the service temporarily unavailable request will be redirected to "/carbon/sso-acs/authFailure.jsp".</li>
                    <li>If a logout request, it will be redirected to "/carbon/sso-acs/redirect_ajaxprocessor.jsp".</li>
                    <li>If LandingPage parameter is set, it will be redirected to that value.</li>
                    <li>Else, it will be redirected to "/carbon/sso-acs/redirect_ajaxprocessor.jsp".</li>
                </ul>
            </div>
                       
          </section>
        </div>

        <div class="slide" id="slide4">
          <section class="middle">
            <hgroup>
              
              <h2>
                Filters used in Stratos: <b>DocPageFilter</b>
              </h2>
            </hgroup>

            <p class="tab"><u>Package</u>: <b>org.wso2.carbon.redirector.servlet.ui.filters</b></p>
            
            <div class="tab"><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Forward requests coming for "admin/docs/userguide.html" to Stratos specific "tenant-dashboard/docs/userguide.html".</p></div>            
          </section>
        </div>

        <div class="slide" id="slide5">
          <section class="middle">
            <hgroup>
              
              <h2>
                Filters used in Stratos: <b>IndexPageFilter</b>
              </h2>
            </hgroup>

            <p class="tab"><u>Package</u>: <b>org.wso2.carbon.redirector.servlet.ui.filters</b></p>
            
            <div class="tab"><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Forward requests coming for "admin/index.jsp" to Stratos specific "tenant-dashboard/index.jsp".</p></div>            
          </section>
        </div>

        <div class="slide" id="slide6">
          <section class="middle">
            <hgroup>
              
              <h2>
                Filters used in Stratos: <b>AllPagesFilter</b>
              </h2>
            </hgroup>

            <p class="tab"><u>Package</u>: <b>org.wso2.carbon.redirector.servlet.ui.filters</b></p>
            
            <div class="tab"><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Every tenant related request goes through this filter.</p></div>            
          </section>
        </div>

        <div class="slide" id="slide7">
          <section class="middle">
            <hgroup>
              
              <h2>
                Filters used in Stratos: <b>RedirectorJSPFilter</b>
              </h2>
            </hgroup>

            <p class="tab"><u>Package</u>: <b>org.wso2.carbon.sso.redirector.ui.internal</b></p>
            
            <div class="tab"><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Forward requests coming for "sso-acs/redirect_ajaxprocessor.jsp" to Stratos specific "stratos-auth/redirect_ajaxprocessor.jsp".</p></div>            
          </section>
        </div>

        
        <div class="slide" id="slide8">
          <section class="middle">
            <hgroup>
              
              <h2>
                Redirections ...
              </h2>
            </hgroup>
            <!-- nirmal -->
            <aside>
                <nav>
                    <ul id="menu">
                        <li onmouseover="changeImage('land');">Loading Landing Page</li>
                        <li onmouseover="changeImage('signin');">Loading Sign-in Page</li>
                        
                    </ul>
                </nav>
            </aside>
            <content><img id="contentFilterImg3" src="" /></content>
            
          </section>
        </div>

        <div class="slide" id="slide9">
          <section class="middle">
            <hgroup>
              
              <h2>
                Redirections ... - Super Tenant Login
              </h2>
            </hgroup>
            <!-- nirmal -->
            <aside>
                <nav>
                    <ul id="menu">
                        <li onmouseover="changeImage('index');">Loading Index Page</li>
                        <li onmouseover="changeImage('home');">Loading Home Page</li>
                        <li onmouseover="changeImage('help');">Loading Help Page</li>
                        <li onmouseover="changeImage('signout');">Sign-out</li>
                    </ul>
                </nav>
            </aside>
            <content><img id="contentFilterImg4" src="" /></content>
            
          </section>
        </div>

        <div class="slide" id="slide10">
          <section class="middle">
            <hgroup>
              
              <h2>
                Redirections ... - Tenant Login
              </h2>
            </hgroup>
            <!-- nirmal -->
            <aside>
                <nav>
                    <ul id="menu">
                        <li onmouseover="changeImage('Tindex');">Loading Index Page</li>
                        <li onmouseover="changeImage('Thome');">Loading Home Page</li>
                        <li onmouseover="changeImage('Thelp');">Loading Help Page</li>
                        <li onmouseover="changeImage('Tabout');">Loading About Page</li>
                        <li onmouseover="changeImage('Tsignout');">Sign-out</li>
                    </ul>
                </nav>
            </aside>
            <content><img id="contentFilterImg5" src="" /></content>
            
          </section>
        </div>
<!--
        <div class="slide" id="slide6">
          <section class="middle">
            <hgroup>
              <h1>
                Slide5
              </h1>
              <h2>
                Slide Title #5
              </h2>
            </hgroup>
            <p>text of slide, text of slide, text of slide, text of slide</p>
          </section>
        </div>

      </div>
-->
      <div id="hidden-note" class="invisible" style="display: none;">
      </div> <!-- hidden note -->

      <aside id="help" class="sidebar invisible" style="display: hidden;"><!-- Defining sidebar help -->
        <table>
          <caption>Help</caption>
            <tr>
              <th>Move forward/back</th>
              <td>&larr;&nbsp;&rarr;</td>
            </tr>
            <tr>
              <th>Move forward</th>
              <td>spacebar</td>
            </tr>
            <tr>
              <th>Hidden Notes</th>
              <td>N</td>
            </tr>
            <tr>
              <th>Help</th>
              <td>H</td>
            </tr>
        </table>
      </aside>

    </div>

<script type="text/javascript" src="js/script.js"></script>

</body>
</html>
